package cn.whitecao.agent.core.plugin;

import net.bytebuddy.description.method.MethodDescription;
import net.bytebuddy.description.type.TypeDescription;
import net.bytebuddy.matcher.ElementMatcher;

/**
 * 拦截规则根据byte buddy的匹配规则来
 * @author : BashfulHuang
 **/
public interface PluginMatcherRule {
    /**
     * 匹配类型
     * @return ElementMatcher<TypeDescription>
     */
    ElementMatcher<TypeDescription> getTypesMatcher();

    /**
     * 匹配方法
     * @return ElementMatcher<MethodDescription>
     */
    ElementMatcher<MethodDescription> getMethodsMatcher();

}
